#!/bin/sh

# 函数：解析Docker镜像名称
parse_image_name() {
    source_image=$1
    
    # 去除digest部分（@后面的内容）
    image_name=$(echo "$source_image" | cut -d '@' -f 1)
    
    # 计算路径部分数量
    parts_count=$(echo "$image_name" | awk -F'/' '{print NF}')
    
    # 根据路径部分数量处理
    if [ $parts_count -eq 1 ]; then
        # 只有一部分，直接使用
        result="$image_name"
    elif [ $parts_count -eq 2 ]; then
        # 有两部分，检查第一部分是否包含.或:
        first_part=$(echo "$image_name" | cut -d '/' -f 1)
        second_part=$(echo "$image_name" | cut -d '/' -f 2)
        
        # 使用grep检查是否包含.或:
        if echo "$first_part" | grep -q '[.:]'; then
            # 包含.或:，只使用第二部分
            result="$second_part"
        else
            # 不包含.或:，使用完整路径
            result="$image_name"
        fi
    else
        # 超过两部分，去掉第一部分
        result=$(echo "$image_name" | cut -d '/' -f 2-)
    fi
    
    # 检查是否包含tag，如果没有则添加:latest
    if ! echo "$result" | grep -q ':'; then
        result="${result}:latest"
    fi
    
    # 将/替换为-
    result=$(echo "$result" | tr '/' '-')
    
    # 输出结果
    echo "$result"
}

# 使用函数处理输入的镜像名称
if [ -z "$1" ]; then
    echo "用法: $0 <镜像名称>"
    exit 1
fi

# 解析镜像名称并设置为环境变量
NEW_IMAGE_NAME=$(parse_image_name "$1")
echo $NEW_IMAGE_NAME